package com.hearwego;

import java.util.List;
import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

import com.utilities.Informacion;
import com.utilities.ResultadosAdapter;
import com.utilities.RssParserPull;
import com.utilities.Utilities;

public class ActivityResultados extends Activity {
	public List<Informacion> resultados;
	public RssParserPull parser;
	SharedPreferences preferences;
	SharedPreferences.Editor editor;
	String[] arrayurl, arraynombre, arraydireccion, arraypoid;
	private ProgressDialog progressDialog;
	public ResultadosAdapter adapter;
	public ListView lista;
	public Timer tim;
	Button inicio;
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_resultados);
		
		preferences= getSharedPreferences("Preferencias",Context.MODE_PRIVATE);
		editor = preferences.edit();

		inicio = (Button) findViewById(R.id.bt_inicio);
		inicio.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				onBackPressed();
			}
		});
		new LoadList().execute("");
	}
	
	
	public class LoadList extends AsyncTask<String, String, String>{
		@Override
			protected void onPreExecute() {
				super.onPreExecute();
				progressDialog = ProgressDialog.show(ActivityResultados.this, "",
    					"Cargando...", true, true, new OnCancelListener() {
    						
    						@Override
    						public void onCancel(DialogInterface arg0) {
    							onBackPressed();
    						}
    			});
			}
		
	
		@Override
		protected String doInBackground(String... params) {
			parser = new RssParserPull(preferences.getString("actualquery", getString(R.string.query)));
			resultados = parser.parse();
			Log.i("actual query", preferences.getString("actualquery", getString(R.string.query)));
			Log.i("Size", ""+resultados.size());
			arrayurl = new String[resultados.size()];
			arraynombre = new String[resultados.size()];
			arraydireccion = new String[resultados.size()];
			arraypoid = new String[resultados.size()];
			for(int i=0; i<resultados.size(); i++){
				Log.i("urlimagen", "http://www.smartthinking.com.mx:8080/HearWeGo/"+resultados.get(i).getFoto());
//				Log.i("distancia", resultados.get(i).getFoto());
				Log.i("nombre", resultados.get(i).getNombre());
				Log.i("direccion", resultados.get(i).getDireccion());
				Log.i("id", resultados.get(i).getId());
				arrayurl[i] = resultados.get(i).getFoto();
				arraynombre[i] = resultados.get(i).getNombre();
				arraydireccion[i] = resultados.get(i).getDireccion();
				arraypoid[i] = resultados.get(i).getId();
			}					
			return null;
		}
		
		@Override
		protected void onPostExecute(String result) {
			super.onPostExecute(result);
			lista = (ListView) findViewById(R.id.list);
			adapter = new ResultadosAdapter(ActivityResultados.this, arrayurl, null, arraynombre, arraydireccion, null);
			lista.setAdapter(adapter);
			
			lista.setOnItemClickListener(new OnItemClickListener() {

				@Override
				public void onItemClick(AdapterView<?> arg0, View arg1,
						int arg2, long arg3) {
					Log.i("id "+arraypoid[arg2], "id "+arraypoid[arg2]);
					editor.putInt("actualid", Integer.parseInt(arraypoid[arg2].toString())).commit();
//					Toast.makeText(getApplicationContext(), "id "+arraypoid[arg2], Toast.LENGTH_LONG).show();
					
					Intent intent_detalle = new Intent(ActivityResultados.this, ActivityDetalle.class);
					startActivity(intent_detalle);
//					
//		            pushFragments(tabId, new TabDetalle(), false,true);
//		            mActivity.pushFragments(Utilities.TAB_A, new TabDetalle(),true,true);


				}
			});
			progressDialog.dismiss();
			tim=new Timer();
			tim.schedule(new TimerTask() {
				@Override
				public void run() {
					runOnUiThread(new Runnable() {
					    public void run() {
							adapter.notifyDataSetChanged();
					    }
					});
				}
			}, 0, 2000);

		}
	
	}


//	@Override
//	public boolean onCreateOptionsMenu(Menu menu) {
//		// Inflate the menu; this adds items to the action bar if it is present.
//		getMenuInflater().inflate(R.menu.activity_resultados, menu);
//		return true;
//	}

}
